#include <stdio.h>
#include <string.h>
#include <stdlib.h> 
#include <dirent.h> 
#include <sys/types.h> 
#include <unistd.h> 
 
int main(int argc, char *argv[]) { 
    if (argc != 2) { 
    fprintf(stderr, "Usage: %s <directory>\n", argv[0]); 
    exit(EXIT_FAILURE); 
 } 
 
    DIR *dir = opendir(argv[1]); // 系统调⽤，⾃⾏查阅 
    if (!dir) { 
    perror("opendir"); 
    exit(EXIT_FAILURE); 
    } 
 
    struct dirent *entry; 
    while ((entry = readdir(dir)) != NULL) { // 系统调⽤，⾃⾏查阅 
    // Skip the "." and ".." directory entries 
    if (strcmp(entry->d_name, ".") == 0 || strcmp(entry->d_name, "..") 
== 0) { 
        continue; 
    } 
 
    printf("Filename: %s, Inode: %lu\n", entry->d_name, (unsigned 
long)entry->d_ino); } 
 
    closedir(dir); 
    return 0; 
}
